Data center storage systems require total storage capacity and overall performance beyond what one storage device can provide. As a consequence, these storage systems typically organize and manage a plurality of independent storage resources known as “storage device banks.” The plurality of storage devices in a storage device bank can have different designs and characteristics that provide differing storage capacities and performance characteristics. They may comprise Hard Disk Drives (HDDs) with different access interfaces, Solid State Drives (SSDs) with different access interfaces. DRAM RAM-drives, persistent storage memory spaces that use non-volatile media, and so on. This approach enables data center computing systems to access multiple data file data blocks simultaneously by accessing multiple such storage devices within one or more storage device banks in parallel.
While storage device banks provide increased storage capacity and generally increased performance, the mean time to failure (MTTF) of a storage device bank degrades proportionately with increased numbers of independent storage devices. For example, if a single storage device has an MTTF of F and a storage bank consists of N such storage devices, then the MTTF of the storage bank is approximately F/N, a value that decreases as N becomes larger.
This degradation can result in an unsatisfactory Mean Time To Data Loss (MTTDL) probability for the storage device bank, potentially resulting in unnecessary data loss unless data loss prevention measures are undertaken. To protect data stored in storage bank storage devices from a degraded MTTF, fault recovery mechanisms are typically employed.
Erasure Coding refers to a well-known set of various techniques for utilizing data storage capacity within storage device banks to provide fault recovery. If a storage device such as an SSD can provide internal Erasure Coding support across its storage media, the storage device's MTTDL reliability and useable lifetime can significantly improve. When used across all or a subset of storage devices in a storage device bank, it can reduce a storage bank's overall MTTDL, thereby improving the storage device bank's reliability.